package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.io.Serializable;
import java.sql.Blob;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DvCgastos generated by hbm2java
 */
@Entity
@Table(name = "DV_CGASTOS", schema = "DEVOLUCIONES")
@SequenceGenerator(name = "seq_dv_cgastos", sequenceName = "seq_dv_cgastos")
public class DvCgastos implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3776073886561199889L;
	private Long correlativo;
	private String nit;
	private String periodo;
	private Integer activo;
	private String comentario;
	private Date fingreso;
	private String cusuario;
	private String nombreArchivo;
	private String extensionArchivo;
	private String contentTypeArchivo;
	private Blob archivo;
	private RcRuc rcRuc;
	private DvPerFiscal dvPerFiscal;

	public DvCgastos() {
	}

	public DvCgastos(Long correlativo, String nit, String periodo, Integer activo, Date fingreso,
			String cusuario, String nombreArchivo, String extensionArchivo,
			String contentTypeArchivo, Blob archivo, RcRuc rcRuc, DvPerFiscal dvPerFiscal) {
		this.correlativo = correlativo;
		this.nit = nit;
		this.periodo = periodo;
		this.activo = activo;
		this.fingreso = fingreso;
		this.cusuario = cusuario;
		this.nombreArchivo = nombreArchivo;
		this.extensionArchivo = extensionArchivo;
		this.contentTypeArchivo = contentTypeArchivo;
		this.archivo = archivo;
		this.rcRuc = rcRuc;
		this.dvPerFiscal = dvPerFiscal;

	}

	/**
	 * @return the correlativo
	 */
	@Id
	@Column(name = "CORRELATIVO", unique = true, nullable = false, precision = 18, scale = 0)
	@GeneratedValue(strategy = GenerationType.AUTO, generator = "seq_dv_cgastos")
	public Long getCorrelativo() {
		return correlativo;
	}

	/**
	 * @param correlativo
	 *            the correlativo to set
	 */
	public void setCorrelativo(Long correlativo) {
		this.correlativo = correlativo;
	}

	/**
	 * @return the nit
	 */
	@Column(name = "NIT", nullable = false, length = 14)
	public String getNit() {
		return nit;
	}

	/**
	 * @param nit
	 *            the nit to set
	 */
	public void setNit(String nit) {
		this.nit = nit;
	}

	/**
	 * @return the periodo
	 */
	@Column(name = "PERIODO", nullable = false, length = 4)
	public String getPeriodo() {
		return periodo;
	}

	/**
	 * @param periodo
	 *            the periodo to set
	 */
	public void setPeriodo(String periodo) {
		this.periodo = periodo;
	}

	/**
	 * @return the activo
	 */
	@Column(name = "ACTIVO", insertable = false, updatable = false, nullable = false, precision = 1, scale = 0)
	public Integer getActivo() {
		return activo;
	}

	/**
	 * @param activo
	 *            the activo to set
	 */
	public void setActivo(Integer activo) {
		this.activo = activo;
	}

	/**
	 * @return the comentario
	 */
	@Column(name = "COMENTARIO", length = 600)
	public String getComentario() {
		return comentario;
	}

	/**
	 * @param comentario
	 *            the comentario to set
	 */
	public void setComentario(String comentario) {
		this.comentario = comentario;
	}

	/**
	 * @return the fingreso
	 */
	@Temporal(TemporalType.DATE)
	@Column(insertable = false, updatable = false, length = 7, name = "FINGRESO", nullable = false)
	public Date getFingreso() {
		return fingreso;
	}

	/**
	 * @param fingreso
	 *            the fingreso to set
	 */
	public void setFingreso(Date fingreso) {
		this.fingreso = fingreso;
	}

	/**
	 * @return the cusuario
	 */
	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return cusuario;
	}

	/**
	 * @param cusuario
	 *            the cusuario to set
	 */
	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	/**
	 * @return the nombreArchivo
	 */
	@Column(name = "NOMBRE_ARCHIVO", nullable = false, length = 50)
	public String getNombreArchivo() {
		return nombreArchivo;
	}

	/**
	 * @param nombreArchivo
	 *            the nombreArchivo to set
	 */
	public void setNombreArchivo(String nombreArchivo) {
		this.nombreArchivo = nombreArchivo;
	}

	/**
	 * @return the extensionArchivo
	 */
	@Column(name = "EXT_ARCHIVO", nullable = false, length = 5)
	public String getExtensionArchivo() {
		return extensionArchivo;
	}

	/**
	 * @param extensionArchivo
	 *            the extensionArchivo to set
	 */
	public void setExtensionArchivo(String extensionArchivo) {
		this.extensionArchivo = extensionArchivo;
	}

	/**
	 * @return the contentTypeArchivo
	 */
	@Column(name = "CT_ARCHIVO", nullable = false)
	public String getContentTypeArchivo() {
		return contentTypeArchivo;
	}

	/**
	 * @param contentTypeArchivo
	 *            the contentTypeArchivo to set
	 */
	public void setContentTypeArchivo(String contentTypeArchivo) {
		this.contentTypeArchivo = contentTypeArchivo;
	}

	/**
	 * @return the archivo
	 */
	@Column(name = "ARCHIVO", nullable = false)
	public Blob getArchivo() {
		return archivo;
	}

	/**
	 * @param archivo
	 *            the archivo to set
	 */
	public void setArchivo(Blob archivo) {
		this.archivo = archivo;
	}

	/**
	 * @return the rcRuc
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "NIT", nullable = false, insertable = false, updatable = false)
	public RcRuc getRcRuc() {
		return rcRuc;
	}

	/**
	 * @param rcRuc
	 *            the rcRuc to set
	 */
	public void setRcRuc(RcRuc rcRuc) {
		this.rcRuc = rcRuc;
	}

	/**
	 * @return the dvPerFiscal
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PERIODO", nullable = false, insertable = false, updatable = false)
	public DvPerFiscal getDvPerFiscal() {
		return dvPerFiscal;
	}

	/**
	 * @param dvPerFiscal
	 *            the dvPerFiscal to set
	 */
	public void setDvPerFiscal(DvPerFiscal dvPerFiscal) {
		this.dvPerFiscal = dvPerFiscal;
	}
}
